package com.groupbuying.payproducer.service;


import com.groupbuying.payproducer.utils.apiresult.ApiResult;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * 订单支付结果
 *
 * @author zmlmagic
 * @email zmlmagic@163.com
 * @date 2019-05-10 02:12:56
 * @des
 */

public interface PayResultService {
    /**
     * 支付完成同步处理
     *
     * @param paramMap
     * @return
     */
    ApiResult payDealForSuc(Map<String, String> paramMap);

    /**
     * 积分支付完成异步回调接口
     *
     * @param requestParam
     * @return
     */
    String currencyPaymentCallback(Map<String, Object> requestParam);

    /**
     * 余额支付完成异步回调接口
     *
     * @param requestParam
     * @return
     */
    String balancePaymentCallback(Map<String, Object> requestParam);

    /**
     * 微信支付完成异步回调接口
     *
     * @param request
     * @return
     */
    String weChatPaymentCallback(HttpServletRequest request);

    /**
     * 支付宝支付完成异步回调接口
     *
     * @param requestParams
     * @return
     */
    String aliPaymentCallback(Map<String, String> requestParams);

    /**
     * 通过支付单ID获取用于微信通知的信息回执
     *
     * @param id 支付单id
     * @return
     */
    Map<String, String> getInfoForCurrencyWeChatRemind(String id);

    /**
     * 通过支付单号ID查询订单编号，门店名称，积分支付类型
     *
     * @Author Vincentxin
     * @Date 2019/9/30 14:16
     * @param payId
     * @return java.util.Map<java.lang.String,java.lang.String>
     **/
    Map<String, String> getOrderInfoCounterNameCurrencyType(String payId);

}
